package br.ucb.indica.CRUD;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.ucb.indica.DAO.ErroDAO;
import br.ucb.indica.enumerador.Gravidade;
import br.ucb.indica.negocio.ErroBean;

@WebServlet("/errocrud")
public class ErroCRUD extends HttpServlet implements Servlet{
	private static final long serialVersionUID = 1L;
       
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
               
	RequestDispatcher dispatcher;
	String acao=request.getParameter("acao"), pagina=null;
	HttpSession session = request.getSession(true);
//	List<ProjetoBean> projetoLista;
	ErroDAO erroDao;
	
	
	ErroBean erro = new ErroBean();

	try{
					
		erroDao = new ErroDAO();
		
		if (acao == null) {
			request.setAttribute("gravidade", Gravidade.values());
			pagina = "/entidade/erroEntrada.jsp";
		}
								
		else if ((acao != null) && (acao.equals("salvar"))) {
		
	// Recebe valores do formulario
			
			
			if (request.getParameter("gravidade") != null){
				erro.setGravidade(request.getParameter("gravidade"));
				System.out.println(request.getParameter("gravidade"));
			}
			
//			else{
//				request.setAttribute("erro", "Campo nome obrigatorio");
//				pagina = "/entidade/pessoaEntrada.jsp";
//			}
			
			if (request.getParameter("descricao") != null){
				erro.setDescricao(request.getParameter("descricao"));
				System.out.println(request.getParameter("descricao"));
				
			}

			if (request.getParameter("status") != null){
				erro.setStatus(request.getParameter("status"));
				System.out.println(request.getParameter("status"));
				
			}
   
//List <PessoaBean> pessoa = (List<PessoaBean>) session.getAttribute("id");    
//      for(PessoaBean id : pessoa){  
//        System.out.println(id.getId());  
//      }   
      
			if (erroDao.incluir(erro) > 0){
				request.setAttribute("mensagem", "Incluído com sucesso");
				request.setAttribute("erro", erro);
				pagina = "logado.jsp";
			}
			else {
				request.setAttribute("erro", "Erro de inclusão");
							
			}
		}
	
		session.setAttribute("erro", erro);
		dispatcher = request.getRequestDispatcher(pagina);;
		dispatcher.forward(request, response);
							
	}catch(SQLException | NoSuchAlgorithmException e){
		request.setAttribute("erro", "Erro de banco de dados");
		pagina = "/entidade/erroEntrada.jsp";

	}
}
}	
